"""
应用配置模块
使用 Pydantic Settings 管理环境变量和配置项
"""
from pydantic_settings import BaseSettings
from typing import List


class Settings(BaseSettings):
    """应用配置类，从环境变量或默认值加载配置"""
    
    # 应用基础配置
    app_name: str = "FastAPI Application"  # 应用名称
    debug: bool = True  # 调试模式开关
    secret_key: str  # JWT 密钥，必须从环境变量设置
    algorithm: str = "HS256"  # JWT 签名算法
    access_token_expire_minutes: int = 30  # 访问令牌过期时间（分钟）
    
    # 数据库配置
    database_url: str = "sqlite:///./app.db"  # 数据库连接字符串，默认使用 SQLite
    
    # CORS 跨域配置
    cors_origins: List[str] = ["http://localhost:3000", "http://localhost:8080"]  # 允许的跨域来源
    
    class Config:
        env_file = ".env"  # 从 .env 文件读取配置
        case_sensitive = False  # 环境变量不区分大小写


settings = Settings()  # 全局配置实例


